/**
 * 面试题 01.01. 判定字符是否唯一
 */
class Solution5 {
    public boolean isUnique(String astr) {
        char[] arr = astr.toCharArray();
        int n = arr.length;
        // 鸽巢原理
        if(n > 26) {
            return false;
        }
        int[] hash = new int[26]; // 位图的思想

        for(int i = 0; i < n; i++) {
            int index = arr[i] - 'a';
            if(hash[index] == 1) {
                return false;
            }
            hash[index] += 1;
        }

        return true;
    }
}